/**
 * 测试相关类型定义
 */

/**
 * 题目选项
 */
export interface QuestionOption {
	key: string;
	text: string;
}

/**
 * 测试题目
 */
export interface Question {
	id: number;
	techId: string; // 所属技术栈ID
	type: 'single' | 'multiple' | 'judge'; // 单选、多选、判断
	difficulty: 'easy' | 'medium' | 'hard'; // 简单、中等、困难
	category: string; // 知识点分类
	question: string; // 题目
	options: QuestionOption[]; // 选项
	answer: string[]; // 正确答案（数组，支持多选）
	explanation: string; // 解析
	code?: string; // 代码示例（可选）
}

/**
 * 测试通道
 */
export interface ExamChannel {
	id: string;
	techId: string; // 对应技术栈ID
	name: string;
	icon: string;
	color: string;
	gradient: string;
	description: string;
	totalQuestions: number; // 总题数
	difficulty: string;
	tags: string[];
	isAvailable: boolean; // 是否可用
}

/**
 * 测试记录
 */
export interface ExamRecord {
	id: string;
	channelId: string;
	techName: string;
	score: number; // 得分
	totalScore: number; // 总分
	correctCount: number; // 正确数
	totalCount: number; // 总题数
	accuracy: number; // 正确率
	timeUsed: number; // 用时（秒）
	createTime: Date;
}

/**
 * 用户答题记录
 */
export interface UserAnswer {
	questionId: number;
	userAnswer: string[]; // 用户答案
	isCorrect: boolean; // 是否正确
	timeUsed: number; // 答题用时（秒）
}


